The performance of activities (e.g., adjustments, modifications, editing, etc.) related to digital data is facilitated by many existing editing tools. Take, for example, the process of modifying a digital image by a user utilizing an image editing application. The user typically makes global image adjustments (e.g., the overall lighting and color balance of the global image is modified), whereafter the user may modify local regions of the digital image. After a global adjustment has been made, one object (or feature) of the image may be too dark and need to be lightened. A face of a person appearing in the digital image may be too saturated, or the user may desire to change the color hue of a flower, for example, from red to pink or purple. To make such local adjustments typically requires a two-step process. First, the user makes a selection of the relevant object, utilizing or more selection (or segmentation) tools, and then applies an image adjustment to a selected region of the digital image. In the event that the resultant image is not what the user desires, the user is required to undo the effect and redo the selection. It will be appreciated that this may be a somewhat slow and tedious process. Further, the region selection process (e.g., painting the selected region) can be time consuming and inaccurate.
One example of an image editing application is the Adobe® Photoshop® image editing application, developed by Adobe Systems Incorporated of San Jose, Calif. The Adobe® Photoshop® application provides a feature called the Color Replacement Brush, which allows a user to create and save constant “brushes” with precise settings, including size, shape, tilt, spacing, scatter, jitter, etc. However, once an image region has been brushed, an image modification is fixed and parameters that went into creating the modification cannot be changed without undoing and redoing the brush stroke. The Adobe® Photoshop® application further provides a Replace Color Adjustment feature. This feature is, however, limited to a global color range selection.
The Adobe® Photoshop® application further provides so-called “Adjustment Layers,” which enable localized adjustments of an image. However, the Adjustment Layers require a user manually to create a selection mask, and the updating of this mask is a multi-step process.
Current methods for the automated (or partially automated) definition of a selection mask may require efficient segmentation on an image, and tended to suffer from a number of technical deficiencies. For example, current selection technologies may inaccurately select objects within an image, or alternatively require a large degree of manual input in order to accurately identify and select an object within an image. Examples of current selection technologies include the “Magic Wand” and “Magnetic Lasso”, both present in the Adobe® Photoshop® application. The “Magic Wand” technology starts with a user-specified point or region to compute a region of connected pixels, such that all of the selected pixels fall within some adjustable tolerance of the color statistics of the specified region. Determining an acceptable tolerance tends to be difficult for a user. For example, because the distribution of color space of foreground and background pixels may have considerable overlap, satisfactory segmentation may be difficult to achieve utilizing the “Magic Wand” technology.
While the “Magic Wand” technology utilizes texture (or color) information to perform segmentation, the “Magnetic Lasso” technology uses edge (or contrast) information to perform segmentation. For example, a user may be allowed to trace an object's boundary with a mouse. However, often many user interactions are necessary to obtain a satisfactory result.
Further, once multiple segmentations have been performed with respect to a digital image in order to define multiple selection masks, the identification, modification and interactions between such selection masks present both a number of usability and technical challenges. Amongst these challenges is the presentation of information to a user that allows the user conveniently to identify, select and manipulate a specific selection mask where a number of selection masks are applicable with respect to a particular digital image. Another example challenge is the processing of image adjustments, where different image adjustments are associated with each of a number of potentially overlapping selection masks.